Modern data transmission systems transmit data in packets or parcels of data each of which may be individually transmitted and each of which is normally assembled by the receiver.
In some instances, such as transmission of data which is to be assembled to form a movie or other sequential data or content, it is at least advantageous and often essential for the proper use and enjoyment of the received data or content that all the transmitted data be received correctly and be assembled in the correct order so that the data can be comprehended at the receiver. For example, when the data is a movie, video stream, music or other audio, or some form of sequential data where the order received is important, the assembled data or content should be assembled or reassembled in the correct sequential order. However, there are other types of data, for example stock exchange price data where it is not absolutely essential that every data packet transmitted be received and processed in the order in which they were transmitted. This is because, for example, in the event of a number of sales in quick succession for the same stock, it is only important that the latest data be received and any out of sequence packets received can be discarded since they represent historical data of no specific interest to the receiver.
Modern data transmission networks including the internet, suffer from various defects such as variable transmission times, variable transmission delays, latency and unordered delivery of packets, all of which can vary with time and with position on the network, and the like.